From 7abe880614053a9a0ab04ded0e167dc1247998c8 Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Fri, 20 May 2005 17:01:23 +0000 Subject: [PATCH] bitkeeper revision 1.1490 (428e17e3-aTEgwH1KsJrUT4WjK5zWQ) Fix ioemu build. Signed-off-by: Keir Fraser --- tools/Makefile | 4 ++++ tools/ioemu/target-i386-dm/helper2.c | 36 +++++++--------------------- 2 files changed, 12 insertions(+), 28 deletions(-) diff --git a/tools/Makefile b/tools/Makefile index 52ddb9f24b..64778a9146 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -38,6 +38,10 @@ check: check_clean: $(MAKE) -C check clean +ifneq ($(XEN_TARGET_ARCH),x86_32) +XEN_NO_IOEMU=1 +endif + ifndef XEN_NO_IOEMU ioemu ioemuinstall ioemuclean: [ -f ioemu/config-host.h ] || \ diff --git a/tools/ioemu/target-i386-dm/helper2.c b/tools/ioemu/target-i386-dm/helper2.c index 3704b08361..ae8b763ea2 100644 --- a/tools/ioemu/target-i386-dm/helper2.c +++ b/tools/ioemu/target-i386-dm/helper2.c @@ -52,32 +52,6 @@ #include "cpu.h" #include "exec-all.h" -//#define DEBUG_MMU - -#ifdef USE_CODE_COPY -#include -#include -#include - -#include -/* According to POSIX 1003.1-2001 */ -#include - -/* According to earlier standards */ -#include -#include -#include -#include -#include -#include - -_syscall3(int, modify_ldt, int, func, void *, ptr, unsigned long, bytecount) - -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 66) -#define modify_ldt_ldt_s user_desc -#endif -#endif /* USE_CODE_COPY */ - void *shared_page; CPUX86State *cpu_86_init(void) @@ -321,7 +295,13 @@ cpu_timer_handler(CPUState *env) int xc_handle; -#include +static __inline__ void atomic_set_bit(long nr, volatile void *addr) +{ + __asm__ __volatile__( + "lock ; bts %1,%0" + :"=m" (*(volatile long *)addr) + :"dIr" (nr)); +} void do_interrupt(CPUState *env, int vector) @@ -332,7 +312,7 @@ do_interrupt(CPUState *env, int vector) // page. intr = &(((vcpu_iodata_t *) shared_page)->vp_intr[0]); - set_bit(vector, intr); + atomic_set_bit(vector, intr); fprintf(logfile, "injecting vector: %x\n", vector); env->send_event = 1; } -- 2.30.2